FROM centos:7.6.1810

MAINTAINER Liu Lu <liulu_heu@qq.com>

# MariaDB 用户名 密码, 设置为环境变量 
ENV MARIADB_USER root
ENV MARIADB_PASS 123456
ENV LC_ALL en_US.UTF-8

# 命令的工作目录
# WORKDIR /

# 删除默认镜像源
RUN rm /etc/yum.repos.d/CentOS-Base.repo
# 换为清华 yum 源
COPY CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo
# 中科大 MariaDB 源
COPY mariadb.repo /etc/yum.repos.d/mariadb.repo

RUN yum makecache

# 安装 MariaDB, python, pip, gcc (编译 redis)
RUN yum -y install MariaDB-server MariaDB-client gcc python3 python3-pip

# 编译安装 redis
COPY ./redis-5.0.7.tar.gz / 
RUN tar -xzvf redis-5.0.7.tar.gz && mv redis-5.0.7 /usr/local/ && cd /usr/local/redis-5.0.7 && make && make install
# 创建 redis 需要的目录
RUN mkdir /var/log/redis && mkdir /var/lib/redis

# 复制 redis 配置文件 /etc/redis.conf
COPY ./redis.conf /etc/redis.conf

# 拷贝脚本
COPY *.sh /

# 安装 python3
# centos 的 sqlite 版本低, 无法满足高版本django 的要求
RUN pip3 install --user -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.1.8 pymysql redis

# 拷贝 django 项目
RUN mkdir /mysite
COPY ./mysite/ /mysite

RUN chmod 755 /*.sh && ./db_init.sh

# 外露的端口
EXPOSE 80 3306 6379

# 启动容器时执行的命令
CMD ["./run.sh"]
